package baiqitun.stupro.project.service;

import baiqitun.stupro.common.entity.impl.SysFile;
import baiqitun.stupro.common.service.MyService;
import baiqitun.stupro.project.entity.SysProjectFile;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;

/**
 * <p>
 * 项目文件表 服务类
 * </p>
 *
 * @author kedaji
 * @since 2020-04-23
 */
public interface SysProjectFileService extends MyService<SysProjectFile> {
    /**
     * 上传文件到项目中
     * @param multipartFile 上传文件
     * @param is 输入流程
     * @param projectId 项目id
     * @param createBy 创建人
     * @throws IOException
     */
    void uploadToProject(MultipartFile multipartFile, InputStream is, String projectId, String createBy) throws IOException;

    /**
     * 分页查询项目的上传文件
     * @param projectId 项目id
     * @param pageNo 页码
     * @param pageSize 每页数据大小
     * @return 分页对象
     */
    IPage<SysFile> pageFileByProjectId(String projectId, int pageNo, int pageSize);

    /**
     * 分页查询用户在某项目上传的文件
     * @param projectId 项目id
     * @param username 用户名
     * @param pageNo 页码
     * @param pageSize 每页数据大小
     * @return 分页对象
     */
    IPage<SysFile> pageUserFileByProjectId(String projectId, String username, int pageNo, int pageSize);
}
